#include <stdio.h>
#include "ofc/DTCPClient.h"
#include "ofc/DSocketAddress.h"

int main(int argc, char *argv[])
{
  DInetSocketAddress *addr = [DInetSocketAddress new];
  DTCPClient         *clnt = [DTCPClient         new];
  DData              *data;

  [addr host :"localhost" :7000];

  printf("Open the client..\n");

  if ([clnt open :[addr family] :[DSocket protocol :"tcp"]])
  {
    printf("Open connection to the server..\n");

    if ([clnt start :addr])
    {
      printf("Send request to the server..\n");

      data = [clnt doRequest :"Hello" :5 :256];

      if (data != nil)
      {
        DText *str = [data toText];

        printf("Response from the server:%s.\n", [str cstring]);

        [str  free];
        [data free];
      }
      else
        printf("No data received from the server.\n");
      
      [clnt stop];
    }
    else
      printf("Cound not open connection to the server.\n");
  }
  else
    printf("Could not open the client.\n");

  [clnt free];                         // Cleanup
  [addr free];

  return 0;
}

